Actively modifying a field of view of an autonomous vehicle in view of constraints

ABSTRACT

Methods and devices for actively modifying a field of view of an autonomous vehicle in view of constraints are disclosed. In one embodiment, an example method is disclosed that includes causing a sensor in an autonomous vehicle to sense information about an environment in a first field of view, where a portion of the environment is obscured in the first field of view. The example method further includes determining a desired field of view in which the portion of the environment is not obscured and, based on the desired field of view and a set of constraints for the vehicle, determining a second field of view in which the portion of the environment is less obscured than in the first field of view. The example method further includes modifying a position of the vehicle, thereby causing the sensor to sense information in the second field of view.

BACKGROUND

Some vehicles are configured to operate in an autonomous mode in whichthe vehicle navigates through an environment with little or no inputfrom a driver. Such a vehicle typically includes one or more sensorsthat are configured to sense information about the environment. Thevehicle may use the sensed information to navigate through theenvironment. For example, if the sensors sense that the vehicle isapproaching an obstacle, the vehicle may navigate around the obstacle.

SUMMARY

In one aspect, an example method is disclosed that includes maintaininga set of constraints for a vehicle, causing a sensor in the vehicle tosense information in a first field of view, and determining a desiredfield of view, where the desired field of view is different than thefirst field of view. The example method further includes, based on thedesired field of view and the set of constraints, determining a secondfield of view, where the second field of view is different than thefirst field of view, and causing the sensor to sense information in thesecond field of view.

In another aspect, a non-transitory computer-readable medium isdisclosed having stored therein instructions executable by a computingdevice to cause the computing device to perform the example methoddescribed above.

In yet another aspect, an example vehicle is disclosed that includes asensor, at least one processor, and data storage comprising a set ofconstraints for the vehicle and instructions. The instructions may beexecutable by the at least one processor to maintain the set ofconstraints for the vehicle, cause the sensor to sense information in afirst field of view, and determine a desired field of view, where thedesired field of view is different than the first field of view. Theinstructions may be further executable by the at least one processor todetermine, based on the desired field of view and the set ofconstraints, a second field of view, where the second field of view isdifferent than the first field of view, and cause the sensor to senseinformation in the second field of view.

These as well as other aspects, advantages, and alternatives, willbecome apparent to those of ordinary skill in the art by reading thefollowing detailed description, with reference where appropriate to theaccompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a flow chart illustrating an example method, in accordancewith an embodiment.

FIG. 2 illustrates example constraints for a vehicle, in accordance withan embodiment.

FIGS. 3A-B illustrate an example implementation of the example method,in accordance with an embodiment.

FIGS. 4A-B illustrate an example implementation of the example method,in accordance with an embodiment.

FIGS. 5A-B illustrate an example implementation of the example method,in accordance with an embodiment.

FIG. 6 illustrates an example vehicle, in accordance with an embodiment.

FIG. 7 is a simplified block diagram of an example vehicle, inaccordance with an embodiment.

FIG. 8 is a simplified block diagram of an example computer programproduct, in accordance with an embodiment.

DETAILED DESCRIPTION

The following detailed description describes various features andfunctions of the disclosed systems and methods with reference to theaccompanying figures. In the figures, similar symbols typically identifysimilar components, unless context dictates otherwise. The illustrativesystem and method embodiments described herein are not meant to belimiting. It will be readily understood that certain aspects of thedisclosed systems and methods can be arranged and combined in a widevariety of different configurations, all of which are contemplatedherein.

A vehicle, such as a vehicle configured to operate autonomously, mayinclude a sensor that is configured to sense information about anenvironment surrounding the vehicle. The sensor may have a first fieldof view.

At some point, the vehicle may detect that the first field of view isobscured by an obstacle, such as a street sign, a tree, or anothervehicle, for example, such that an ability of the sensor to senseinformation is inhibited. Alternatively or additionally, the vehicle maydetect that the vehicle is located near a predetermined location knownto inhibit the ability of the sensor to sense information. The vehiclemay determine that the ability of the sensor to sense information isinhibited in other manners and for other reasons as well.

When the ability of the sensor to sense information is inhibited, it maybe desirable for the vehicle to modify the field of view of the sensorfrom the first field of view to a desired field of view that improvesthe ability of the sensor to sense information. To this end, the vehiclemay, for example, modify a position of the vehicle (e.g., by modifying aspeed of the vehicle), such that the field of view of the sensor ismodified. In some cases, however, modifying a position of the vehiclemay be contrary to one or more predetermined constraints including, forexample, constraints based on traffic laws and/or constraints based onpassenger comfort. In such cases, it may be dangerous or otherwisedisadvantageous for the vehicle to modify the field of view of thesensor from the first field of view to the desired field of view.

Accordingly, the vehicle may determine a second field of view that thatimproves the ability of the sensor to sense information while stilladhering to (or adhering to more of) the predetermined constraints. Thevehicle may then modify the field of view of the sensor from the firstfield of view to the second field of view, thereby causing the sensor tosense information in the second field of view. The vehicle may modifythe field of view by, for example, modifying a position of the vehicle,modifying a speed of the vehicle, modifying an acceleration of thevehicle, modifying a position of the sensor, and/or modifying anorientation of the sensor.

FIG. 1 is a flow chart illustrating an example method 100, in accordancewith an embodiment.

Method 100 shown in FIG. 1 presents an embodiment of a method that, forexample, could be used with the vehicles described herein. Method 100may include one or more operations, functions, or actions as illustratedby one or more of blocks 102-108. Although the blocks are illustrated ina sequential order, these blocks may also be performed in parallel,and/or in a different order than those described herein. Also, thevarious blocks may be combined into fewer blocks, divided intoadditional blocks, and/or removed based upon the desired implementation.

In addition, for the method 100 and other processes and methodsdisclosed herein, the flowchart shows functionality and operation of onepossible implementation of present embodiments. In this regard, eachblock may represent a module, a segment, or a portion of program code,which includes one or more instructions executable by a processor forimplementing specific logical functions or steps in the process. Theprogram code may be stored on any type of computer-readable medium, suchas, for example, a storage device including a disk or hard drive. Thecomputer-readable medium may include a non-transitory computer-readablemedium, for example, such as computer-readable media that store data forshort periods of time like register memory, processor cache, and RandomAccess Memory (RAM). The computer-readable medium may also includenon-transitory media, such as secondary or persistent long term storage,like read only memory (ROM), optical or magnetic disks, and compact-discread only memory (CD-ROM), for example. The computer-readable media mayalso be any other volatile or non-volatile storage systems. Thecomputer-readable medium may be considered a computer-readable storagemedium, a tangible storage device, or other article of manufacture, forexample.

In addition, for the method 100 and other processes and methodsdisclosed herein, each block may represent circuitry that is configuredto perform the specific logical functions in the process.

The method 100 begins at block 102 where a vehicle causes a sensor inthe vehicle to sense information in a first field of view. The firstfield of view may include any portion of the environment surrounding thevehicle.

As noted above, in some cases the vehicle may detect that the firstfield of view is obscured by an obstacle, such as a street sign, a tree,or another vehicle, for example, such that an ability of the sensor tosense information is inhibited. Alternatively or additionally, thevehicle may detect that the vehicle is located near a predeterminedlocation known to inhibit the ability of the sensor to senseinformation. The vehicle may determine that the ability of the sensor tosense information is inhibited in other manners and for other reasons aswell.

Accordingly, at block 104, the vehicle determines a desired field ofview. The desired field of view may be any field of view that improvesthe ability of the sensor to sense information. For example, if thefirst field of view includes an obstacle, as in the example above, thedesired field of view may avoid the obstacle, may include less of theobstacle, and/or may enable the sensor to “see around” the obstacle. Asanother example, if the first field of view does not include aparticular portion of the environment in which the vehicle would like tosense information, the desired field of view may include some or all ofthe particular portion of the environment. The desired field of view maytake other forms as well.

In some embodiments, the vehicle may determine the desired field of viewrelative to the first field of view. For example, in embodiments wherethe first field of view includes an obstacle in a far right portion ofthe first field of view, the vehicle may determine the desired field ofview to be forward of (e.g., by a particular number of feet) and/orrotated to the left from (e.g., by a particular angle) the first fieldof view, thereby including less of the obstacle.

In other embodiments, the vehicle may determine the desired field ofview relative to the vehicle. For example, in embodiments where thefirst field of view does not include a particular portion of theenvironment in which the vehicle would like to sense information, thevehicle may determine a location of the particular portion of theenvironment relative to the vehicle (e.g., 6 feet away from the vehiclein a direction 50° to the right of a direction of travel of the vehicle)and may determine the desired field of view to include the particularportion of the environment (e.g., the desired field of view may spanfrom 10° to 70° to the right of a direction of travel of the vehicle).

In still other embodiments, the vehicle may determine the desired fieldof view absolutely. For example, in embodiments where the first field ofview does not include a particular portion of the environment in whichthe vehicle would like to sense information, the vehicle may determinean absolute location of the vehicle and an absolute location of theparticular portion of the environment (e.g., a particular latitude andlongitude), and may determine the desired field of view to include theparticular portion of the environment (e.g., the desired field of viewmay include the particular latitude and longitude).

The vehicle may determine the desired field of view in other manners aswell.

In some cases, however, modifying the field of view of the sensor fromthe first field of view to the desired field of view may be contrary toone or more constraints for the vehicle, such as constraints based ontraffic laws, constraints based on passenger comfort, and constraintsbased on passenger safety. Other constraints are possible as well. Theconstraints may take a number of forms.

In some embodiments, the constraints may be predetermined and stored atthe vehicle prior to operation of the vehicle. For example, a constrainton a speed of the vehicle may be predetermined and stored at thevehicle. Alternatively or additionally, the constraints may bedetermined and/or updated by the vehicle during operation. For example,the vehicle may determine a constraint on a speed of the vehicle bydetecting a speed limit sign, detecting a speed of a neighboringvehicle, and/or by determining a location of the vehicle, querying aserver with the location, and receiving the constraint on the speed ofthe vehicle from the server. Still alternatively or additionally, theconstraints may be predetermined and stored at the vehicle prior tooperation and may be updated each time the vehicle powers on. Forexample, upon powering on, the vehicle may query a server for anyupdates to the constraints. Still alternatively or additionally, theconstraints may be predetermined and stored at the vehicle and may beupdated by a user of the vehicle through, for example, a user-interface.The constraints may be maintained at the vehicle in other manners aswell.

FIG. 2 illustrates example constraints 200 for a vehicle, in accordancewith an embodiment. As shown, the example constraints 200 include aconstraint 202 on a speed of the vehicle, a constraint on a crosswalkproximity (e.g., how close the vehicle can be to a crosswalk), aconstraint on an other-vehicle proximity (e.g., how close the vehiclecan be to another vehicle, and a constraint 204 on a deceleration of thevehicle.

Each constraint may be associated with a value or range of values. Forexample, as shown, the constraint 202 on the speed of the vehicle isshown to have a value of 35-45 miles per hour and the constraint 204 onthe deceleration of the vehicle is shown to have a value of less than4.8 feet per second squared. Other values and other units are possibleas well.

In some embodiments, the value or range of values associated with aconstraint may be constant. In other embodiments, however, the value orrange of values associated with a constraint may vary. For example, theconstraint 202 on the speed may vary depending on a location of thevehicle, as speed limits may vary for different roads. The vehicle mayupdate the constraint 202 on the speed depending on the location of thevehicle (e.g., as determined by the vehicle). Alternatively oradditionally, a number of different values or ranges of values may beassociated with each constraint. For example, the constraint 204 on thedeceleration may vary depending on a weather type in the environmentwhere the vehicle is located, as it may be desirable to decelerate moreslowly in some types of weather (e.g., rain or ice) to avoid sliding.Thus, the vehicle may maintain a number of constraints on thedeceleration for a number of weather types and may select the constraintfor the weather type most similar to the weather type in the environmentwhere the vehicle is located. The constraints and values may take otherforms as well.

In some embodiments, in addition to maintaining the constraints and thevalues, the vehicle may maintain a weighting for each of the constraintsthat indicates an importance of adhering to the constraint. For example,each constraint may be weighted out of 100, where a weighting of 100indicates that the constraint must be adhered to and decreasingweightings indicate decreasing importance of adherence. As shown, theconstraint 202 on the speed of the vehicle has a weighting of 100. Thisweighting may be chosen because failing to adhere to the constraint 202(e.g., by speeding) could be illegal and/or dangerous. On the otherhand, as shown, the constraint 204 on the deceleration of the vehiclehas a weighting of only 20. This weighting may be chosen because failingto adhere to the constraint 204 (e.g., by slamming on the brakes) couldcause passenger discomfort, without being illegal or dangerous.

It will be understood that the example constraints, values, andweightings shown are merely illustrative and are not meant to belimiting, and that other constraints, values, and weightings arepossible as well.

In some embodiments, instead of maintaining a weighting for eachconstraint, the vehicle may maintain a range of values for eachconstraint and a score for each of the values. Each score may indicatehow well the value adheres to the constraint. For example, theconstraint 202 on the speed may have the range of values 35-45 miles perhour and different values in the range of values may have differentscores. Some values in the range of values may have a higher score thanothers. For instance, values in the 40-45 miles per hour range may havea higher score than values in the 35-40 miles per hour range, indicatingthat the values in the 40-45 miles per hour range better adhere to theconstraint than the values in the 35-40 miles per hour range. Otherexamples are possible as well.

It will be understood that the example constraints, values, and scoresdescribed above are merely illustrative and are not meant to belimiting, and that other constraints, values, and scores are possible aswell.

Returning to FIG. 1, in some cases modifying the field of view of thesensor from the first field of view to the desired field of view may becontrary to one or more of constraints for the vehicle. For example,modifying the field of view of the sensor from the first field of viewto the desired field of view may require that the vehicle move forward,but moving forward may cause the vehicle to break a constraint oncrosswalk proximity (e.g., how close the vehicle can be to a crosswalk),as described above. Other examples are possible as well.

In such cases, it may be dangerous or otherwise disadvantageous for thevehicle to modify the field of view of the sensor from the first fieldof view to the desired field of view. Accordingly, at block 106, thevehicle determines a second field of view based on the desired field ofview and the set of constraints. To this end, the vehicle may, forexample, use an optimization algorithm to maximize the ability of thesensor to sense information and adherence to the constraints. Thealgorithm may take into account the weightings or scores associated withthe constraints, as described above. It will be understood that thealgorithm may take any number of forms. In general, the algorithm may beany function that determines the second field of view based on thedesired field of view and the constraints.

At block 108, the vehicle causes the sensor to sense information in thesecond field of view. To this end, the vehicle may modify the field ofview of the sensor from the first field of view to the second field ofview. The vehicle may modify the field of view by, for example,modifying a position of the vehicle, modifying a speed of the vehicle,modifying an acceleration of the vehicle, modifying a position of thesensor, and/or modifying an orientation of the sensor. The vehicle maymodify the field of view in other manners as well.

In some embodiments, in addition to modifying the field of view of thesensor, the vehicle may additionally request information in a requestedfield of view from one or more external sensors that are physicallyseparate from the vehicle. The external sensors may include, forexample, sensors on traffic signals, signs, or other vehicles. Otherexternal sensors are possible as well.

Because the external sensor is physically separate from the vehicle, theexternal sensor may be able to sense information in a field of view thatis inaccessible to the vehicle. For example, an external sensor on atraffic signal may be able to sense information that is further away,due to its comparatively higher position. As another example, anexternal sensor on another vehicle may be able to “see around” anobstacle that is in the field of view of the sensor on the vehicle.Other examples are possible as well.

In order to request information in a requested field of view from anexternal sensor, the vehicle may determine the requested field of viewand may send to the external sensor a request for the requested field ofview. The external sensor may then sense information in the requestedfield of view. Further, the external sensor may send to the vehicle atleast some of the information sensed in the requested field of view.

In some embodiments, the vehicle may determine the second field of viewbased on the requested field of view in addition to the desired field ofview and the constraints. For example, the vehicle may determine asecond field of view that, when supplemented with the requested field ofview, will improve the ability of the sensor to sense information aboutthe environment. Other examples are possible as well.

A number of example implementations of the method 100 are describedbelow in connection with FIGS. 3A-5B.

For purposes of illustration, a number of example implementations aredescribed. It is to be understood, however, that the exampleimplementations are illustrative only and are not meant to be limiting.Other example implementations are possible as well.

FIGS. 3A-B illustrate an example implementation of the example method,in accordance with an embodiment. As shown in FIG. 3A, a vehicle 302 islocated at an intersection 300. The vehicle 302 may have a set ofconstraints, as described above. For example, the vehicle 302 may have aconstraint on a crosswalk proximity (e.g., how close the vehicle 302 canbe to a crosswalk 312) that requires a front of the vehicle 302 toremain behind or adjacent to the crosswalk 312. The vehicle 302 may haveother constraints as well.

As shown, the vehicle 302 includes a sensor 308 that is configured tosense information about the intersection 300 in a first field of view314, as indicated by the dotted arrows. The first field of view 314 isshown to include a traffic signal 306 in the intersection 300, such thatthe sensor 308 is able to sense information about the traffic signal306. However, as shown, the first field of view 314 does not include aportion 310 of the intersection 300 because of the presence of a truck304 adjacent to the vehicle 302. Accordingly, the sensor 308 is not ableto sense information about the portion 310 of the intersection 300 fromwhich oncoming traffic may be entering the intersection 300.

In the example implementation, the vehicle 302 may wish to make a leftturn on a red light (assuming such a maneuver is legal at theintersection 300). In order to safely make the left turn, the vehicle302 must determine whether any oncoming traffic is entering theintersection 300 from the portion 310 of the intersection 300. However,as noted above, the first field of view 314 does not include the portion310 of the intersection 300, such that the sensor 308 is not able tosense information about the portion 310 of the intersection 300. Thus,the vehicle 302 is not able to determine whether it is safe to make aleft turn at the intersection 300.

Accordingly, the vehicle 302 may determine a desired field of view 316.The desired field of view 316 may be any field of view that improves theability of the sensor 308 to sense information. In the exampleimplementation, the desired field of view 316 may be a field of viewthat includes the portion 310 of the intersection 300, as indicated bythe dotted arrows.

However, in order to modify the field of view of the sensor 308 from thefirst field of view 314 to the desired field of view 316, the vehicle302 would have to move forward beyond the crosswalk 312, therebybreaking the crosswalk proximity constraint mentioned above.Accordingly, rather than modifying the field of view of the sensor 308from the first field of view 314 to the desired field of view 316, thevehicle 302 may determine a second field of view 318, as shown in FIG.3B. In particular, the vehicle 302 may determine the second field ofview 318 based on the desired field of view 316 and the constraints forthe vehicle 302. To this end, the vehicle 302 may, for example, use anoptimization algorithm to maximize both the ability of the sensor 308 tosense information and adherence to the constraints, as described above.

Once the vehicle 302 has determined the second field of view 318, thevehicle 302 may cause the sensor 308 to sense information in the secondfield of view 318. To this end, the vehicle 302 may modify a position ofthe vehicle 302, as shown by the arrow 320.

Like the desired field of view 316, the second field of view 318 mayimprove the ability of the sensor 308 to sense information and, further,may include (or mostly include) the portion 310 of the intersection 300,as indicated by the dotted arrows. Additionally, however, the vehicle302 may sense information in the second field of view 318 without movingbeyond the crosswalk 312. As shown, the vehicle 302 is adjacent to, butnot beyond, the crosswalk 312, thereby adhering to the crosswalkproximity constraint mentioned above.

In this manner, the vehicle 302 may improve an ability of the sensor 308to sense information about the intersection 300 while still adhering toone or more constraints for the vehicle 302.

In some embodiments, the traffic signal 306 may include an externalsensor (not shown). In these embodiments, the vehicle 302 mayadditionally determine a requested field of view, such as a field ofview that includes the portion 310 of the intersection 300, and may sendto the external sensor a request for the requested field of view. Theexternal sensor may sense information in the requested field of view andmay send at least some of the information in the requested field of viewto the vehicle 302.

The information in the requested field of view may allow the vehicle 302to make a more informed decision about whether it is safe to make a leftturn. In particular, because the external sensor is positioned on thetraffic signal 306 (and thus higher than the sensor 308 on the vehicle302), the requested field of view may include portions of the road thatare further away from the intersection 300. Thus, the requested field ofview may include additional oncoming traffic that is not included in thesecond field of view 318.

FIGS. 4A-B illustrate an example implementation of the example method,in accordance with an embodiment. As shown in FIG. 4A, a vehicle 402 islocated on a road 400. The vehicle 402 may have a set of constraints, asdescribed above. For example, the vehicle 402 may have a constraint tomaintain a speed between 25 and 35 miles per hour. Additionally, thevehicle 402 may have a constraint to not exceed (e.g., in magnitude) adeceleration of feet per second squared. The vehicle 402 may have otherconstraints as well. Additionally, the vehicle 402 may maintainweightings for each of the constraints. For instance, the constraint onthe speed of the vehicle 402 may be weighted more heavily than theconstraint on the deceleration of the vehicle 402, as the constraint onthe speed may be based on a traffic law (e.g., a speed limit) while theconstraint on the deceleration may be based on passenger comfort. Otherweightings are possible as well.

As shown, the vehicle 402 includes a sensor 408 that is configured tosense information in a first field of view 410, as indicated by thedotted arrows. As shown, the first field of view 410 includes anobstacle, namely a truck 404. As a result, the sensor 408 is not able tosense information about a sign 406.

In the example implementation, the vehicle 402 may wish to detect thesign 406. However, as shown, the sign 406 is blocked in first field ofview 410 by the truck 404. Thus, the vehicle 402 is not able to detectthe sign 406.

Accordingly, the vehicle 402 may determine a desired field of view (notshown). The desired field of view may be any field of view that improvesthe ability of the sensor 408 to sense information. In the exampleimplementation, the desired field of view may be a field of view thatdoes not include (or includes less of) the truck 404, or at least thatallows the vehicle 402 to detect the sign 406.

In order to achieve the desired field of view, the vehicle 402 may, forexample, decelerate very quickly and/or stop, allowing the truck 404 tomove away from the vehicle 402, thereby leaving the field of view of thesensor 408. However, such quick deceleration and/or stopping may breakone or both of the constraints on the speed and deceleration of thevehicle 402, as mentioned above.

Accordingly, rather than modifying the field of view of the sensor 408from the first field of view 410 to the desired field of view, thevehicle 402 may determine a second field of view 412, as shown in FIG.4B. In particular, the vehicle 402 may determine the second field ofview 412 based on the desired field of view and the constraints for thevehicle 402. To this end, the vehicle 402 may, for example, use anoptimization algorithm to maximize both the ability of the sensor 408 tosense information and adherence to the constraints, as described above.As the constraint on the speed of the vehicle 402 is weighted moreheavily than the constraint on the deceleration of the vehicle 402, theoptimization algorithm may place more importance on adhering to theconstraint on the speed than on the constraint on the deceleration.

Once the vehicle 402 has determined the second field of view 412, thevehicle 402 may cause the sensor 408 to sense information in the secondfield of view 412. To this end, the vehicle 402 may decelerate, therebymodifying a speed of the vehicle 402.

Like the desired field of view, the second field of view 412 may improvethe ability of the sensor 408 to sense information and, further, mayinclude (or mostly include) the sign 406, as indicated by the dottedarrows. Additionally, however, the vehicle 402 may modify the field ofview of the sensor 408 from the first field of view 410 to the secondfield of view 412 by slowing its speed, and not stopping as for thedesired field of view, thereby adhering to the speed constraint for thevehicle 402. Further, in some cases, the vehicle 402 may modify thefield of view of the sensor 408 from the first field of view 410 to thesecond field of view 412 by braking at least somewhat slowly, and notquickly as for the desired field of view, thereby adhering (or comingclose to adhering) to the deceleration constraint for the vehicle 402.

In this manner, the vehicle 402 may improve an ability of the sensor 408to sense information about the road 400 while still adhering to one ormore constraints for the vehicle 402.

FIGS. 5A-B illustrate an example implementation of the example method,in accordance with an embodiment. As shown in FIG. 5A, a vehicle 502 islocated at an intersection 500. The vehicle 502 may have a set ofconstraints, as described above. For example, the vehicle 502 may have aconstraint on an other-vehicle proximity (e.g., how close the vehicle502 can be to another vehicle 504) that relates to the vehicle 502staying at least a minimum distance 506 from the other vehicle 504. Thevehicle 502 may have other constraints as well.

As shown, the vehicle 502 includes a sensor 508 that is configured tosense information about the intersection 500 in a first field of view514, as indicated by the dotted arrows. As shown, a portion 510 of theintersection 500 is outside the first field of view 514. Accordingly,the sensor 508 is not able to sense information about the portion 510 ofthe intersection 500 from which oncoming traffic may be entering theintersection 500.

In the example implementation, the vehicle 502 may wish to make a rightturn into the intersection 500. In order to safely make the right turn,the vehicle 502 must determine whether any oncoming traffic is enteringthe intersection 500 from the portion 510 of the intersection 500.However, as noted above, the first field of view 514 does not includethe portion 510 of the intersection 500, such that the sensor 508 is notable to sense information about the portion 510 of the intersection 500.Thus, the vehicle 502 is not able to determine whether it is safe tomake a right turn at the intersection 500.

Accordingly, the vehicle 502 may determine a desired field of view 516.The desired field of view 516 may be any field of view that improves theability of the sensor 508 to sense information. In the exampleimplementation, the desired field of view 516 may be a field of viewthat includes the portion 510 of the intersection 500, as indicated bythe dotted arrows.

However, in order to modify the field of view of the sensor 508 from thefirst field of view 514 to the desired field of view 516, the vehicle502 would have to move closer to the other vehicle 504, such that thevehicle 502 is less than the minimum distance 506 from the other vehicle504, contrary to the other-vehicle proximity constraint mentioned above.

Accordingly, rather than modifying the field of view of the sensor 508from the first field of view 514 to the desired field of view 516, thevehicle 502 may determine a second field of view 518, as shown in FIG.5B. In particular, the vehicle 502 may determine the second field ofview 518 based on the desired field of view 516 and the constraints forthe vehicle 502. To this end, the vehicle 502 may, for example, use anoptimization algorithm to maximize both the ability of the sensor 508 tosense information and adherence to the constraints, as described above.

Once the vehicle 502 has determined the second field of view 518, thevehicle 502 may cause the sensor 508 to sense information in the secondfield of view 518. To this end, the vehicle 502 may modify anorientation of the sensor 508 (e.g., by rotating the sensor 508).

Like the desired field of view 516, the second field of view 518 mayimprove the ability of the sensor 508 to sense information and, further,may include (or mostly include) the portion 510 of the intersection 500,as indicated by the dotted arrows. Additionally, however, the vehicle502 may sense information in the second field of view 518 without movingtoo close to the other vehicle 504, as required for the desired field ofview 516. As shown, the vehicle 502 remains at least the minimumdistance 506 from the other vehicle 504, thereby adhering to theother-vehicle proximity constraint mentioned above.

In this manner, the vehicle 502 may improve an ability of the sensor 508to sense information about the intersection 500 while still adhering toone or more constraints for the vehicle 502.

Systems in which example embodiments of the above example methods may beimplemented will now be described in greater detail. In general, anexample system may be implemented in or may take the form of a vehicle.The vehicle may take a number of forms, including, for example,automobiles, cars, trucks, motorcycles, buses, boats, airplanes,helicopters, lawn mowers, earth movers, snowmobiles, recreationalvehicles, amusement park vehicles, farm equipment, constructionequipment, trams, golf carts, trains, and trolleys. Other vehicles arepossible as well.

Further, another example system may take the form of non-transitorycomputer-readable medium, which has program instructions stored thereonthat are executable by at least one processor to provide thefunctionality described herein. An example system may also take the formof a vehicle or a subsystem of a vehicle that includes such anon-transitory computer-readable medium having such program instructionsstored thereon.

FIG. 6 illustrates an example vehicle 600, in accordance with anembodiment. In particular, FIG. 6 shows a Right Side View, Front View,Back View, and Top View of the vehicle 600. Although vehicle 600 isillustrated in FIG. 6 as a car, other embodiments are possible. Forinstance, the vehicle 600 could represent a truck, a van, a semi-trailertruck, a motorcycle, a golf cart, an off-road vehicle, or a farmvehicle, among other examples. As shown, the vehicle 600 includes afirst sensor unit 602, a second sensor unit 604, a third sensor unit606, a wireless communication system 608, and a camera 610.

Each of the first, second, and third sensor units 602-606 may includeany combination of global positioning system sensors, inertialmeasurement units, radio detection and ranging (RADAR) units, laserrangefinders, light detection and ranging (LIDAR) units, cameras, andacoustic sensors. Other types of sensors are possible as well.

While the first, second, and third sensor units 602-606 are shown to bemounted in particular locations on the vehicle 600, in some embodimentsthe sensor unit 602 may be mounted elsewhere on the vehicle 600, eitherinside or outside the vehicle 600. Further, while only three sensorunits are shown, in some embodiments more or fewer sensor units may beincluded in the vehicle 600.

In some embodiments, one or more of the first, second, and third sensorunits 602-606 may include one or more movable mounts on which thesensors may be movably mounted. The movable mount may include, forexample, a rotating platform. Sensors mounted on the rotating platformcould be rotated so that the sensors may obtain information from eachdirection around the vehicle 600. Alternatively or additionally, themovable mount may include a tilting platform. Sensors mounted on thetilting platform could be tilted within a particular range of anglesand/or azimuths so that the sensors may obtain information from avariety of angles. The movable mount may take other forms as well.

Further, in some embodiments, one or more of the first, second, andthird sensor units 602-606 may include one or more actuators configuredto adjust the position and/or orientation of sensors in the sensor unitby moving the sensors and/or movable mounts. Example actuators includemotors, pneumatic actuators, hydraulic pistons, relays, solenoids, andpiezoelectric actuators. Other actuators are possible as well.

The wireless communication system 608 may be any system configured towirelessly couple to one or more other vehicles, sensors, or otherentities, either directly or via a communication network. To this end,the wireless communication system 608 may include an antenna and achipset for communicating with the other vehicles, sensors, or otherentities either directly or over an air interface. The chipset orwireless communication system 608 in general may be arranged tocommunicate according to one or more other types of wirelesscommunication (e.g., protocols) such as BLUETOOTH, communicationprotocols described in IEEE 802.11 (including any IEEE 802.11revisions), cellular technology (such as GSM, CDMA, UMTS, EV-DO, WiMAX,or LTE), ZIGBEE, dedicated short range communications (DSRC), and radiofrequency identification (RFID) communications, among otherpossibilities. The wireless communication system 608 may take otherforms as well.

While the wireless communication system 608 is shown to be positioned ona roof of the vehicle 600, in other embodiments the wirelesscommunication system 608 could be located, fully or in part, elsewhere.

The camera 610 may be any camera (e.g., a still camera, a video camera,etc.) configured to capture images of the environment in which thevehicle 600 is located. To this end, the camera 610 may be configured todetect visible light, or may be configured to detect light from otherportions of the spectrum, such as infrared or ultraviolet light, orx-rays. Other types of cameras are possible as well. The camera 610 maybe a two-dimensional detector, or may have a three-dimensional spatialrange. In some embodiments, the camera 610 may be, for example, a rangedetector configured to generate a two-dimensional image indicating adistance from the camera 610 to a number of points in the environment.To this end, the camera 610 may use one or more range detectingtechniques. For example, the camera 610 may use a structured lighttechnique in which the vehicle 600 illuminates an object in theenvironment with a predetermined light pattern, such as a grid orcheckerboard pattern and uses the camera 610 to detect a reflection ofthe predetermined light pattern off the object. Based on distortions inthe reflected light pattern, the vehicle 600 may determine the distanceto the points on the object. The predetermined light pattern maycomprise infrared light, or light of another wavelength. As anotherexample, the camera 610 may use a laser scanning technique in which thevehicle 600 emits a laser and scans across a number of points on anobject in the environment. While scanning the object, the vehicle 600uses the camera 610 to detect a reflection of the laser off the objectfor each point. Based on a length of time it takes the laser to reflectoff the object at each point, the vehicle 600 may determine the distanceto the points on the object. As yet another example, the camera 610 mayuse a time-of-flight technique in which the vehicle 600 emits a lightpulse and uses the camera 610 to detect a reflection of the light pulseoff an object at a number of points on the object. In particular, thecamera 610 may include a number of pixels, and each pixel may detect thereflection of the light pulse from a point on the object. Based on alength of time it takes the light pulse to reflect off the object ateach point, the vehicle 600 may determine the distance to the points onthe object. The light pulse may be a laser pulse. Other range detectingtechniques are possible as well, including stereo triangulation,sheet-of-light triangulation, interferometry, and coded aperturetechniques, among others. The camera 610 may take other forms as well.

In some embodiments, the camera 610 may include a movable mount and/oran actuator, as described above, that are configured to adjust theposition and/or orientation of the camera 610 by moving the camera 610and/or the movable mount.

While the camera 610 is shown to be mounted inside a front windshield ofthe vehicle 600, in other embodiments the camera 610 may be mountedelsewhere on the vehicle 600, either inside or outside the vehicle 600.

The vehicle 600 may include one or more other components in addition toor instead of those shown.

FIG. 7 is a simplified block diagram of an example vehicle 700, inaccordance with an embodiment. The vehicle 700 may, for example, besimilar to the vehicle 600 described above in connection with FIG. 6.The vehicle 700 may take other forms as well.

As shown, the vehicle 700 includes a propulsion system 702, a sensorsystem 704, a control system 706, peripherals 708, and a computer system710 including a processor 712, data storage 714, and instructions 716.In other embodiments, the vehicle 700 may include more, fewer, ordifferent systems, and each system may include more, fewer, or differentcomponents. Additionally, the systems and components shown may becombined or divided in any number of ways.

The propulsion system 702 may be configured to provide powered motionfor the vehicle 700. As shown, the propulsion system 702 includes anengine/motor 718, an energy source 720, a transmission 722, andwheels/tires 724.

The engine/motor 718 may be or include any combination of an internalcombustion engine, an electric motor, a steam engine, and a Stirlingengine. Other motors and engines are possible as well. In someembodiments, the propulsion system 702 could include multiple types ofengines and/or motors. For instance, a gas-electric hybrid car couldinclude a gasoline engine and an electric motor. Other examples arepossible.

The energy source 720 may be a source of energy that powers theengine/motor 718 in full or in part. That is, the engine/motor 718 maybe configured to convert the energy source 720 into mechanical energy.Examples of energy sources 720 include gasoline, diesel, propane, othercompressed gas-based fuels, ethanol, solar panels, batteries, and othersources of electrical power. The energy source(s) 720 could additionallyor alternatively include any combination of fuel tanks, batteries,capacitors, and/or flywheels. In some embodiments, the energy source 720may provide energy for other systems of the vehicle 700 as well.

The transmission 722 may be configured to transmit mechanical power fromthe engine/motor 718 to the wheels/tires 724. To this end, thetransmission 722 may include a gearbox, clutch, differential, driveshafts, and/or other elements. In embodiments where the transmission 722includes drive shafts, the drive shafts could include one or more axlesthat are configured to be coupled to the wheels/tires 724.

The wheels/tires 724 of vehicle 700 could be configured in variousformats, including a unicycle, bicycle/motorcycle, tricycle, orcar/truck four-wheel format. Other wheel/tire formats are possible aswell, such as those including six or more wheels. In any case, thewheels/tires 724 of vehicle 700 may be configured to rotatedifferentially with respect to other wheels/tires 724. In someembodiments, the wheels/tires 724 may include at least one wheel that isfixedly attached to the transmission 722 and at least one tire coupledto a rim of the wheel that could make contact with the driving surface.The wheels/tires 724 may include any combination of metal and rubber, orcombination of other materials.

The propulsion system 702 may additionally or alternatively includecomponents other than those shown.

The sensor system 704 may include a number of sensors configured tosense information about an environment in which the vehicle 700 islocated, as well as one or more actuators 736 configured to modify aposition and/or orientation of the sensors. As shown, the sensors of thesensor system include a Global Positioning System (GPS) 726, an inertialmeasurement unit (IMU) 728, a RADAR unit 730, a laser rangefinder and/orLIDAR unit 732, and a camera 734. The sensor system 704 may includeadditional sensors as well, including, for example, sensors that monitorinternal systems of the vehicle 700 (e.g., an O₂ monitor, a fuel gauge,an engine oil temperature, etc.). Other sensors are possible as well.

The GPS 726 may be any sensor configured to estimate a geographiclocation of the vehicle 700. To this end, the GPS 726 may include atransceiver configured to estimate a position of the vehicle 700 withrespect to the Earth. The GPS 726 may take other forms as well.

The IMU 728 may be any combination of sensors configured to senseposition and orientation changes of the vehicle 700 based on inertialacceleration. In some embodiments, the combination of sensors mayinclude, for example, accelerometers and gyroscopes. Other combinationsof sensors are possible as well.

The RADAR 730 unit may be any sensor configured to sense objects in theenvironment in which the vehicle 700 is located using radio signals. Insome embodiments, in addition to sensing the objects, the RADAR unit 730may additionally be configured to sense the speed and/or heading of theobjects.

Similarly, the laser rangefinder or LIDAR unit 732 may be any sensorconfigured to sense objects in the environment in which the vehicle 700is located using lasers. In particular, the laser rangefinder or LIDARunit 732 may include a laser source and/or laser scanner configured toemit a laser and a detector configured to detect reflections of thelaser. The laser rangefinder or LIDAR 732 may be configured to operatein a coherent (e.g., using heterodyne detection) or an incoherentdetection mode.

The camera 734 may be any camera (e.g., a still camera, a video camera,etc.) configured to capture images of the environment in which thevehicle 700 is located. To this end, the camera may take any of theforms described above.

The sensor system 704 may additionally or alternatively includecomponents other than those shown.

The control system 706 may be configured to control operation of thevehicle 700 and its components. To this end, the control system 706 mayinclude a steering unit 738, a throttle 740, a brake unit 742, a sensorfusion algorithm 744, a computer vision system 746, a navigation orpathing system 748, and an obstacle avoidance system 750.

The steering unit 738 may be any combination of mechanisms configured toadjust the heading of vehicle 700.

The throttle 740 may be any combination of mechanisms configured tocontrol the operating speed of the engine/motor 718 and, in turn, thespeed of the vehicle 700.

The brake unit 742 may be any combination of mechanisms configured todecelerate the vehicle 700. For example, the brake unit 742 may usefriction to slow the wheels/tires 724. As another example, the brakeunit 742 may convert the kinetic energy of the wheels/tires 724 toelectric current. The brake unit 742 may take other forms as well.

The sensor fusion algorithm 744 may be an algorithm (or a computerprogram product storing an algorithm) configured to accept data from thesensor system 704 as an input. The data may include, for example, datarepresenting information sensed at the sensors of the sensor system 704.The sensor fusion algorithm 744 may include, for example, a Kalmanfilter, a Bayesian network, or another algorithm. The sensor fusionalgorithm 744 may further be configured to provide various assessmentsbased on the data from the sensor system 704, including, for example,evaluations of individual objects and/or features in the environment inwhich the vehicle 700 is located, evaluations of particular situations,and/or evaluations of possible impacts based on particular situations.Other assessments are possible as well.

The computer vision system 746 may be any system configured to processand analyze images captured by the camera 734 in order to identifyobjects and/or features in the environment in which the vehicle 700 islocated, including, for example, traffic signals and obstacles. To thisend, the computer vision system 746 may use an object recognitionalgorithm, a Structure from Motion (SFM) algorithm, video tracking, orother computer vision techniques. In some embodiments, the computervision system 746 may additionally be configured to map the environment,track objects, estimate the speed of objects, etc.

The navigation and pathing system 748 may be any system configured todetermine a driving path for the vehicle 700. The navigation and pathingsystem 748 may additionally be configured to update the driving pathdynamically while the vehicle 700 is in operation. In some embodiments,the navigation and pathing system 748 may be configured to incorporatedata from the sensor fusion algorithm 744, the GPS 726, and one or morepredetermined maps so as to determine the driving path for vehicle 700.

The obstacle avoidance system 750 may be any system configured toidentify, evaluate, and avoid or otherwise negotiate obstacles in theenvironment in which the vehicle 700 is located.

The control system 706 may additionally or alternatively includecomponents other than those shown.

Peripherals 708 may be configured to allow the vehicle 700 to interactwith external sensors, other vehicles, and/or a user. To this end, theperipherals 708 may include, for example, a wireless communicationsystem 752, a touchscreen 754, a microphone 756, and/or a speaker 758.

The wireless communication system 752 may take any of the formsdescribed above.

The touchscreen 754 may be used by a user to input commands to thevehicle 700. To this end, the touchscreen 754 may be configured to senseat least one of a position and a movement of a user's finger viacapacitive sensing, resistance sensing, or a surface acoustic waveprocess, among other possibilities. The touchscreen 754 may be capableof sensing finger movement in a direction parallel or planar to thetouchscreen surface, in a direction normal to the touchscreen surface,or both, and may also be capable of sensing a level of pressure appliedto the touchscreen surface. The touchscreen 754 may be formed of one ormore translucent or transparent insulating layers and one or moretranslucent or transparent conducting layers. The touchscreen 754 maytake other forms as well.

The microphone 756 may be configured to receive audio (e.g., a voicecommand or other audio input) from a user of the vehicle 700. Similarly,the speakers 758 may be configured to output audio to the user of thevehicle 700.

The peripherals 708 may additionally or alternatively include componentsother than those shown.

The computer system 710 may be configured to transmit data to andreceive data from one or more of the propulsion system 702, the sensorsystem 704, the control system 706, and the peripherals 708. To thisend, the computer system 710 may be communicatively linked to one ormore of the propulsion system 702, the sensor system 704, the controlsystem 706, and the peripherals 708 by a system bus, network, and/orother connection mechanism (not shown).

The computer system 710 may be further configured to interact with andcontrol one or more components of the propulsion system 702, the sensorsystem 704, the control system 706, and/or the peripherals 708. Forexample, the computer system 710 may be configured to control operationof the transmission 722 to improve fuel efficiency. As another example,the computer system 710 may be configured to cause the camera 734 tocapture images of the environment. As yet another example, the computersystem 710 may be configured to store and execute instructionscorresponding to the sensor fusion algorithm 744. As still anotherexample, the computer system 710 may be configured to store and executeinstructions for displaying a display on the touchscreen 754. Otherexamples are possible as well.

As shown, the computer system 710 includes the processor 712 and datastorage 714. The processor 712 may comprise one or more general-purposeprocessors and/or one or more special-purpose processors. To the extentthe processor 712 includes more than one processor, such processorscould work separately or in combination. Data storage 714, in turn, maycomprise one or more volatile and/or one or more non-volatile storagecomponents, such as optical, magnetic, and/or organic storage, and datastorage 714 may be integrated in whole or in part with the processor712.

In some embodiments, data storage 714 may contain instructions 716(e.g., program logic) executable by the processor 712 to execute variousvehicle functions, including those described above in connection withFIG. 1. Further, data storage 714 may contain constraints 762 for thevehicle 700, which may take any of the forms described above. Datastorage 714 may contain additional instructions as well, includinginstructions to transmit data to, receive data from, interact with,and/or control one or more of the propulsion system 702, the sensorsystem 704, the control system 706, and the peripherals 708.

The computer system 702 may additionally or alternatively includecomponents other than those shown.

As shown, the vehicle 700 further includes a power supply 760, which maybe configured to provide power to some or all of the components of thevehicle 700. To this end, the power supply 760 may include, for example,a rechargeable lithium-ion or lead-acid battery. In some embodiments,one or more banks of batteries could be configured to provide electricalpower. Other power supply materials and configurations are possible aswell. In some embodiments, the power supply 760 and energy source 720may be implemented together, as in some all-electric cars.

In some embodiments, one or more of the propulsion system 702, thesensor system 704, the control system 706, and the peripherals 708 couldbe configured to work in an interconnected fashion with other componentswithin and/or outside their respective systems.

Further, the vehicle 700 may include one or more elements in addition toor instead of those shown. For example, the vehicle 700 may include oneor more additional interfaces and/or power supplies. Other additionalcomponents are possible as well. In such embodiments, data storage 714may further include instructions executable by the processor 712 tocontrol and/or communicate with the additional components.

Still further, while each of the components and systems are shown to beintegrated in the vehicle 700, in some embodiments, one or morecomponents or systems may be removably mounted on or otherwise connected(mechanically or electrically) to the vehicle 700 using wired orwireless connections.

The vehicle 700 may take other forms as well.

In some embodiments, the disclosed methods may be implemented ascomputer program instructions encoded on a non-transitorycomputer-readable storage media in a machine-readable format, or onother non-transitory media or articles of manufacture. FIG. 8 is aschematic illustrating a conceptual partial view of an example computerprogram product 800 that includes a computer program for executing acomputer process on a computing device, arranged according to at leastsome embodiments presented herein.

In one embodiment, the example computer program product 800 is providedusing a signal bearing medium 802. The signal bearing medium 802 mayinclude one or more programming instructions 804 that, when executed byone or more processors, may provide functionality or portions of thefunctionality described above with respect to FIGS. 1-5B.

In some embodiments, the signal bearing medium 802 may encompass acomputer-readable medium 806, such as, but not limited to, a hard diskdrive, a Compact Disc (CD), a Digital Video Disk (DVD), a digital tape,memory, etc. Further, in some embodiments the signal bearing medium 802may encompass a computer recordable medium 808, such as, but not limitedto, memory, read/write (R/W) CDs, R/W DVDs, etc. Still further, in someembodiments the signal bearing medium 802 may encompass a communicationsmedium 810, such as, but not limited to, a digital and/or an analogcommunication medium (e.g., a fiber optic cable, a waveguide, a wiredcommunications link, a wireless communication link, etc.). Thus, forexample, the signal bearing medium 802 may be conveyed by a wirelessform of the communications medium 810.

The one or more programming instructions 804 may be, for example,computer executable and/or logic implemented instructions. In someexamples, a computing device (e.g., the computer system 710 of FIG. 7)may be configured to provide various operations, functions, or actionsin response to the programming instructions 804 being conveyed to thecomputing device by one or more of the computer readable medium 806, thecomputer recordable medium 808, and/or the communications medium 810.

The non-transitory computer readable medium may also be distributedamong multiple data storage elements, which could be remotely locatedfrom each other.

In some embodiments, the computing device that executes some or all ofthe programming instructions 804 could be a vehicle, such as the vehicle700 illustrated in FIG. 7. Other computing devices are possible as well.

While various aspects and embodiments have been disclosed herein, otheraspects and embodiments will be apparent to those skilled in the art.The various aspects and embodiments disclosed herein are for purposes ofillustration and are not intended to be limiting, with the true scopeand spirit being indicated by the following claims.

The invention claimed is:
 1. A method comprising: causing a sensor in anautonomous vehicle to sense information about an environment in a firstfield of view, wherein a portion of the environment is obscured in thefirst field of view; determining a desired field of view in which theportion of the environment is not obscured; based on the desired fieldof view and a set of constraints for the vehicle, determining a secondfield of view in which the portion of the environment is less obscuredthan in the first field of view; in response to determining the secondfield of view, modifying the sensor's field of view from the first fieldof view to the second field of view, wherein the second field of view isan improved field of view of the sensor, and wherein modifying thesensor's field of view comprises modifying a position of the vehicle;and causing the sensor to sense information in the second field of view.2. The method of claim 1, wherein the set of constraints comprises atleast one of constraints based on traffic laws and constraints based onpassenger comfort.
 3. The method of claim 1, wherein determining thedesired field of view comprises: detecting an obstacle in the firstfield of view; and in response to detecting the obstacle, determiningthe desired field of view.
 4. The method of claim 1, wherein determiningthe desired field of view comprises: estimating a location of thevehicle; detecting that the location of the vehicle is near apredetermined location; in response to detecting that the location ofthe vehicle is near the predetermined location, determining the desiredfield of view.
 5. The method of claim 1, wherein modifying the positionof the vehicle comprises modifying at least one of a speed of thevehicle and an acceleration of the vehicle.
 6. The method of claim 1,wherein each constraint in the set of constraints is associated with arespective weighting according to an importance of adhering to theconstraint.
 7. The method of claim 1, further comprising: determining arequested field of view for an external sensor, wherein the externalsensor is physically separate from the vehicle; sending to the externalsensor a request for the requested field of view; and receiving, fromthe external sensor, information sensed by the external sensor in therequested field of view.
 8. The method of claim 1, wherein the secondfield of view is different than the desired field of view.
 9. The methodof claim 1, wherein causing the sensor to sense information in thesecond field of view further comprises modifying at least one of aposition and an orientation of the sensor.
 10. An autonomous vehiclecomprising: a sensor; at least one processor; and data storagecomprising: instructions executable by the at least one processor to:(a) cause the sensor to sense information about an environment in afirst field of view, wherein a portion of the environment is obscured inthe first field of view; (b) determine a desired field of view in whichthe portion of the environment is not obscured; (c) based on the desiredfield of view and a set of constraints for the vehicle, determine asecond field of view in which the portion of the environment is lessobscured than in the first field of view; (d) in response to determiningthe second field of view, modify the sensor's field of view from thefirst field of view to the second field of view, wherein the secondfield of view is an improved field of view of the sensor, and whereinmodifying the sensor's field of view comprises modifying a position ofthe vehicle; and causing the sensor to sense information in the secondfield of view.
 11. The autonomous vehicle of claim 10, wherein the setof constraints comprises at least one of constraints based on trafficlaws and constraints based on passenger comfort.
 12. The autonomousvehicle of claim 10, wherein determining the desired field of viewcomprises: detecting an obstacle in the first field of view; and inresponse to detecting the obstacle, determining the desired field ofview.
 13. The autonomous vehicle of claim 10, further comprising alocation sensor, wherein determining the desired field of viewcomprises: causing the location sensor to estimate a location of thevehicle; detecting that the location of the vehicle is near apredetermined location; and in response to detecting that the locationof the vehicle is near the predetermined location, determining thedesired field of view.
 14. The autonomous vehicle of claim 10, furthercomprising a vehicle control system configured to modify the position ofthe vehicle.
 15. The autonomous vehicle of claim 10, further comprisingan actuator configured to modify at least one of a position and anorientation of the sensor, wherein causing the sensor to senseinformation in the second field of view further comprises modifying atleast one of a position and an orientation of the sensor.
 16. Theautonomous vehicle of claim 10, further comprising: an external sensorinterface, wherein the instructions are further executable by theprocessor to: (i) determine a requested field of view for an externalsensor, wherein the external sensor is physically separate from thevehicle, (ii) cause the external sensor interface to send to theexternal sensor a request for the requested field of view, and (iii)receive, via the external sensor, interface information sensed by theexternal sensor in the requested field of view.
 17. The autonomousvehicle of claim 10, wherein the sensor comprises at least one of aradar sensor, a laser sensor, a sonar sensor, and a camera.
 18. Anon-transitory computer-readable medium having stored thereininstructions executable by a computing device to cause the computingdevice to perform the functions of: causing a sensor in an autonomousvehicle to sense information about an environment in a first field ofview, wherein a portion of the environment is obscured in the firstfield of view; determining a desired field of view in which the portionof the environment is not obscured; based on the desired field of viewand a set of constraints for the vehicle, determining a second field ofview in which the portion of the environment is less obscured than inthe first field of view; in response to determining the second field ofview, modifying the sensor's field of view from the first field of viewto the second field of view, wherein the second field of view is animproved field of view of the sensor, and wherein modifying the sensor'sfield of view comprises modifying a position of the vehicle; and causingthe sensor to sense information in the second field of view.
 19. Thenon-transitory computer-readable medium of claim 18, wherein the set ofconstraints comprises at least one of constraints based on traffic lawsand constraints based on passenger comfort.
 20. The non-transitorycomputer-readable medium of claim 18, wherein the computing device is inthe vehicle.